Published on

Mengikuti Program Pelatihan Bug Bounty IDN Bootcamp

Authors

Pengalaman dibidang CyberSecurity

latar belakang

Saya merupakan Siswa SMK jurusan Teknik Komputer dan Jaringan yang sebentar akan lagi lulus. Saya suka dengan komputer, walaupun pengalaman memakai komputer pertama saya adalah ketika masih baru masuk SMK. Sampai sekarang saya sudah mengikuti Beberapa kompetisi CTF dan berhasil memenangkan beberapa diantaranya.

Pengalaman kompetisi

Pengalaman pertama saya di dunia CyberSecurity dimulai ketika saya mulai mengikuti perlombaan Capture The Flag (CTF) yang diadakan oleh provinsi saya, Lomba ini bernama Lomba Kompetisi Siswa cabang Keamanan Siber Tingkat Provinsi. Perlombaan ini bukan hanya menumbuhkan minat saya dibidang Keamanan, tapi juga sebagai langkah awal Perjalanan saya di bidang Security. Pada lomba ini saya berhasil meraih juara 1 tingkat provinsi, yang mengantarkan saya ke mengikuti lomba LKS CyberSecurity Tingkat Nasional yang diadakan di Surabaya tahun 2023.

Namun pada sayangnya pada LKS Nasional saya hasil bisa membawa pulang piagam Medallion Of Excellence dan tidak berhasil masuk ke 5 besar. Setelah LKS nasional, pada bulan desember saya dan teman saya mengikuti National Hacking Competition CyberJawara dan berhasil meraih posisi ke-3.

Hobby & Kegiatan

Walaupun tahun ini saya sudah jarang mengikuti kompetisi CTF lagi, saya mengisi waktu luang saya dengan Belajar lebih jauh tentang CyberSecurity Melalui platform TryHackMe, saya menyelesaikan Path Jr Penetration Tester, dan kerap latihan di platform THM dan HTB. Di lain kesempata saya juga sering membuat beberapa projek pemrograman simpel dengan tujuan menambah pengetahuan saya tentang komputer.

Saya juga mengikuti Bootcamp CyberSecurity Sentinel yang berfokus melatih kemampuan Hacking pada aplikasi web, yang dimana Bootcamp ini diadakan selama 6 bulan, dimana diadakan pertemuan online 4x dalam sebulan, setiap selasa malam. Tujuan saya mengikuti Bootcamp ini adalah untuk mendapatkan pekerjaan pertama saya di Bidang Security sebagai Pentester freelance.

Pemahaman tentang jaringan komputer

Jaringan komputer adalah fondasi dari infrastruktur teknologi informasi modern. Tanpa jaringan, komunikasi antar perangkat tidak akan mungkin, dan Internet tidak akan ada. Pada dasarnya, jaringan komputer adalah kumpulan perangkat keras (hardware) dan perangkat lunak (software) yang bekerja sama untuk menghubungkan perangkat-perangkat komputer agar dapat berkomunikasi dan berbagi sumber daya seperti data, printer, dan koneksi Internet. Protokol dan Layanan Jaringan.

Protokol jaringan adalah aturan yang digunakan oleh perangkat dalam jaringan untuk berkomunikasi satu sama lain. Beberapa protokol jaringan yang umum digunakan meliputi:

  • TCP/IP (Transmission Control Protocol/Internet Protocol): Protokol yang digunakan untuk mengirim data di Internet. TCP memastikan pengiriman data yang andal, sedangkan IP bertanggung jawab untuk mengarahkan paket data ke tujuan yang tepat.

  • HTTP (Hypertext Transfer Protocol): Protokol yang digunakan untuk mentransfer data web seperti halaman web, gambar, dan video.

  • DNS (Domain Name System): Protokol yang digunakan untuk menerjemahkan nama domain menjadi alamat IP yang terkait, sehingga perangkat dapat menemukan sumber daya di Internet.

  • DHCP (Dynamic Host Configuration Protocol): Protokol yang digunakan untuk memberikan alamat IP dinamis kepada perangkat dalam jaringan.

  • FTP (File Transfer Protocol): Protokol yang digunakan untuk mentransfer file antara perangkat dalam jaringan.

OSI (Open Systems Interconnection) Layer dan TCP/IP (Transmission Control Protocol/Internet Protocol) adalah dua model jaringan yang digunakan untuk merancang dan mengimplementasikan protokol komunikasi dalam jaringan komputer. Dibawah merupakan perbandingan singkat antara keduanya:

OSI Layer

  • Model OSI terdiri dari tujuh layer yang menggambarkan fungsi-fungsi yang terlibat dalam proses komunikasi antar perangkat dalam jaringan.
  • Layer OSI mencakup Physical, Data Link, Network, Transport, Session, Presentation, dan Application.
  • Model ini bersifat teoritis dan digunakan sebagai acuan untuk merancang protokol jaringan.
  • Tidak semua protokol jaringan sesuai dengan model OSI dengan tepat, tetapi model ini membantu dalam memahami konsep-konsep dasar jaringan.

TCP/IP

  • Model TCP/IP adalah model jaringan yang digunakan secara luas dalam pengembangan dan pengelolaan jaringan komputer, terutama di Internet.
  • Model ini terdiri dari empat layer: Network Interface, Internet, Transport, dan Application.
  • TCP/IP lebih sederhana dan lebih praktis dibandingkan OSI, karena hanya memiliki empat layer.
  • Protokol TCP/IP seperti TCP, IP, UDP, dan ICMP sesuai dengan model ini dan digunakan dalam implementasi jaringan dunia nyata.

Perbedaan utama antara kedua model ini adalah kompleksitas dan implementasinya. Model OSI memberikan pandangan yang lebih komprehensif tentang fungsi-fungsi dalam jaringan, sementara model TCP/IP lebih fokus pada implementasi protokol dalam jaringan praktis seperti Internet.

Pemahaman tentang Linux

Linux adalah sebuah sistem operasi yang bersifat open source dan berbasis Unix. Diciptakan oleh Linus Torvalds pada tahun 1991, Linux telah berkembang menjadi salah satu sistem operasi yang paling populer dan banyak digunakan di dunia. terutama karena penggunaannya yang luas,mulai dari penggunaan di desktop dan laptop, server web dan database, perangkat embedded, hingga superkomputer. Saya sendiri menggunakan OS Kali linux di SSD External.

Direktori Linux

Linux memiliki banyak direktori yang memiliki tujuan dan tugasnya tersendiri, namun yang sering ditemui ada tiga macam, yakni.

Root Directory (/): Direktori teratas dalam hierarki sistem file Linux. 
Semua file dan direktori lainnya berada di bawah direktori root.

Home Directory (~): Direktori yang berisi folder pribadi untuk setiap pengguna. 
Ketika pengguna masuk ke sistem, mereka akan berada di dalam direktori home mereka.

Direktori Utama (/bin, /sbin, /usr, /etc, /var): Direktori utama yang berisi 
file-file esensial untuk sistem operasi dan aplikasi yang diinstal.

File Permission

Setiap file dan direktori di Linux memiliki tiga jenis izin yang terkait dengan tiga kategori pengguna: pemilik file, grup pengguna, dan pengguna lainnya. Izin tersebut adalah:

  • Read (R): Memungkinkan pengguna untuk membaca atau menampilkan isi file/direktori.
  • Write (W): Memungkinkan pengguna untuk menulis atau mengedit isi file/direktori.
  • Execute (X): Memungkinkan pengguna untuk mengeksekusi file atau masuk ke dalam direktori.

Linux Command

saya tidak akan menjelaskan semua command linux yang saya tahu, tapi saya akan memberikan beberapa contoh linux command yang basic.

  • ls: Menampilkan daftar file dan direktori di direktori saat ini.
  • cd: Mengubah direktori kerja.
  • pwd: Menampilkan path dari direktori kerja saat ini.
  • mkdir: Membuat direktori baru.
  • rm: Menghapus file atau direktori.
  • cp: Menyalin file atau direktori.
  • mv: Memindahkan file atau direktori.
  • chmod: Mengubah izin file atau direktori.

Pemahaman tentang pemrograman

Saya memiliki dua bahasa pemrograman utama yang sering saya gunakan entah untuk membuat script atau untuk membuat program mini. Namun saya menguasai beberapa konsep-konsep dasar pemrograman seperti variabel, tipe data, operator, flow control, function, array, Pointer, OOP, inheritance, FOP, dan Exceptation handling. Saya juga pernah memakai bahasa pemrograman seperti javascript, php serta paham tentang Structured Query Language atau SQL.

Berikut saya membuat memberikan sebuah kode yang melakukan hal yang sama dengan 2 bahasa yang berbeda.

python

sum.py
// define function
def sum(a,b):
    return a +b

// call function
result = sum(10,30)
print(result)

c

sum.c
#include<stdio.h>

// create function here
int sum(int a, int b){
    return a + b;
}

// main function
int main(){
    int result;
    // calling function
    result = sum(10,30);

    // print the result
    printf("%d\n", result);
    return 0;
}

menggabungkan kemampuan linux dan pemrograman, saya membuat sebuah http server yang menerima request menggunakan koneksi https.

Membuat certificate SSL di linux

openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes

Membuat https server menggunakan python

https_server.py
#!/usr/bin/python3
import http.server, ssl
server_address = ('0.0.0.0', 443)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,server_side=True,certfile='localhost.pem')
httpd.serve_forever()

Perjalanan saya dalam dunia Cyber Security masih panjang, tetapi setiap langkah yang saya ambil membawa saya lebih dekat pada tujuan saya untuk menjadi seorang Security Researcher dan Ethical Hacker. Program pelatihan Bug Bounty IDN Bootcamp menjadi kesempatan penting untuk saya memperdalam pengetahuan saya dibidang ini. Saya yakin bahwa dengan dedikasi, kerja keras, dan rasa ingin tahu yang tak kenal lelah, saya akan terus tumbuh dan berkembang dalam karir saya sebagai seorang Security Researcher.